package com.kfy.proxydemo.Proxy.StaticProxy;

/**
 * @ProjectName: ProxyDemo
 * @Package: com.kfy.proxydemo.Proxy.StaticProxy
 * @Author: K.F.Y
 * @Date: 2021/5/8
 */

import com.kfy.proxydemo.Proxy.IUser;

/**
 * 静态代理总结:
 * 1.可以做到在不修改目标对象的功能前提下,对目标功能扩展.
 * 2.缺点:
 * 因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标对象与代理对象都要维护.
 */


public class ProxyUser implements IUser {

    //接收保存目标对象
    private IUser target;

    public ProxyUser(IUser target) {
        this.target = target;
    }

    @Override
    public void doSomething() {
        System.out.print("代理对象替");
        target.doSomething();
    }
}
